'''
*******************字典******************
      创建字典dict,{}
     1.关于字典常用的方法：
     添加：
        1.通过dict[new key] = value
        2.dict.update(new dict) 没有返回值，直接在字典上进行添加
        3.dict.formkeys() 创建一个默认值的字典dict.fromkeys(key的可迭代对象，默认值)

    删：del dict[key]
       dict.clear()
      作用：删除字典中的所有项或元素，无返回值(注意，不是删除字典，而是清空字典内容）
      dict.pop(key [,default])
      作用：如果字典中存在key，则删除并返回key对应的value；如果key不存在，且没有给出default值，则引发KeyError异常


    改：dict[ exist key] = value

    查：1.dict[key]
        2. dict.get(key , default=None)
       作用：返回字典中key对应的值，若key不存在，则返回default的值（default默认为None）

    2.其它方法
        dict.keys()
        dict.values()
        dict.items()
'''
#统计频数
# import random
# list_ = [random.randint(0,20) for _ in range(30)]
# print(list_)

#统计词频,然后排序
# dict ={}
# for i in list_:
#     if i in dict.keys():
#          dict[i] = dict.get(i)+1
#     else:
#         dict[i] = 1
#
# print(dict)
# res = sorted([(k,v) for k,v in dict.items()],key=lambda x:x[1],reverse=True)
# print(res)

#
nums = [2, 3, 1, 0, 2, 5, 3,3]
# res = dict.fromkeys(nums,0)
# print(res)
# for i in res.keys():
#     res[i] = res.get(i)+1
# print(res)
from collections import OrderedDict
nums = [2, 3, 1, 0, 2, 5, 3]
res = {}
for i in nums:
    res[i] = res.get(i,0)+1
print(res)
p = sorted(res.items(),key=lambda x:x[1],reverse=True)
print(p)


